\chapter{Conclusion}

Cet article présente une étude expérimentale de la scalabilité \textit{intrachip/intranode} et des facteurs déterminants.

Les résultats obtenus démontrent que la mesure, l'analyse et l'optimisation de code sur architecture multicoeurs nécessite une approche à la fois différente et plus complexe que celle utilisée dans les architectures monocoeur.

Suite aux démonstrations effectuées par les auteurs de l'article les mesures des performance doivent impérativement tenir compte des interactions entre les cœurs d'un noyau  multicoeurs ce qui n'est pas le cas pour le monocoeur, ils ont également mis en place un processus structuré de mesure de performance ainsi qu'une chronologie pour bien cerner les goulots d'étranglement.

Trois principaux goulots d'étranglements spécifiques aux architectures multicoeurs ont été identifiés : la capacité du cache partagé L3, la largeur de la bande passante \textit{off-chip} et les conflits de page DRAM.

Une optimisation de code source au niveau des boucles a été proposée : la microfission. Appliquée au \textit{benchmark} HOMME, elle réduit le taux de \textit{miss} L3 de plus de 50\%, multiplie par 2 le nombre de DRAM \textit{page hit}, réduit la surcharge du compilateur, augmente la scalabilité \textit{intrachip} de 42\% et la performance globale de 35\%.

La microfission de boucles devrait être applicable à de nombreuses applications HPC et inspirer d'autres optimisations spécifiquement destinées à l'exécution sur architecture multicoeurs.
